|
CATIA V5 Programmierung : Zeichnungsrahmen mit Makro einfügen
C.Samer am 15.12.2017 um 10:10 Uhr (1)
Von einem Makro eine Variable an ein anderes Makro übergeben, klingt für mich, ohne das aufgerufene Makro anzupassen, unmöglich. Ich würde den CATIA "Standard Zeichnungsrahmen" anpassen.StattCode:If Not CATInit(targetSheet) Then Exit Subwürde ich z.B.Code:If Not CATInit(CATIA.ActiveDocument.DrawingRoot.Sheets.ActiveSheet) Then Exit Subversuchen, wobei ich nicht weiß wie targetSheet bei dir deklariert ist.Liebe Grüße aus Wien,Christoph
|
In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : GetMaterialOnPart Freeze
C.Samer am 03.05.2017 um 12:06 Uhr (15)
Hallo!Ich habe ziemlich lange gesucht und keine passende Lösung für dieses Problem gefunden,deswegen möchte euch meine zur Verfügung stellen.Das Problem:Catia friert beim Auslesen des Materials ein.Der funktionierende Code:Code:Dim oManager As MaterialManagerDim oMaterial As Material : Set oMaterial = NothingSub CATMain() Dim oProduct As Product : Set oProduct = CATIA.ActiveDocument.Product Dim oPart As Part : Set oPart = CATIA.ActiveDocument.Part Set oManager = oPart.GetItem("CATMatMa ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Formel Gewicht / Dichte
C.Samer am 09.08.2017 um 13:44 Uhr (1)
Hallo Monka,danke für deinen Beitrag. Dein Vorschlag war/ist meine Lösung bisher Leider muss man die Aktualisierung von IntertiaVolume immer erzwingen.Das passiert nicht automatisch! Catia wird weiters sehr langsam beim Verschieben/Positionieren von Bauteilen.Das kann man durch Deaktivieren vonCode:Tools - Optionen - Parameter und Messung - Automatische Aktualisierung im Produktverhindern.Ist aber alles nicht so sauber wie ich es gerne hätte. Habe gehofft jemand kennt eine schönere Lösung
|
In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : Aktivierungsstatus der Komponente / Component Activation State
C.Samer am 16.08.2017 um 12:09 Uhr (15)
Du bist genial Bernd! Für alle zukünftigen Leidensgenossen, hier ein funktionierendes Codebeispiel:Code:Dim iObjectPos As IntegerDim iObjectMax As Integer iObjectMax = 0 iObjectPos = 0Function countMaxObjects(p As Product) iObjectPos = iObjectPos + 1 CATIA.StatusBar = "Counting Active Objects: " & iObjectPos Catia.RefreshDisplay = True Dim oRootProduct As Product Set oRootProduct = p.parent.parent Dim oInstanceProduct As Product Set oInstanceProduct = p Dim oParameterActi ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Open Material Dialog
C.Samer am 22.08.2017 um 13:33 Uhr (1)
Hallo Bernd,danke für deinen Beitrag!Code: CATIA.StartCommand "Material zuordnen" MsgBox "hi"StartCommand funktioniert, unterbricht nur leider nicht den Code und hat auch keine Return Value."Hi" wird sogar vor dem Material Dialog angezeigt.Liebe Grüße,Christoph
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Drawing / Seitenzahl / Parameter / Variable / Formel
C.Samer am 29.09.2017 um 09:41 Uhr (1)
Hallo liebe Community!Ich versuche gerade die max. Seitenzahl (und anschließend auch die aktuelle Seite) als Parameter mit einem Textfeld zu verknüpfen. Ich hätte gerne, dass sich der Text automatisch aktualisiert, wenn ich eine zusätzliche Seite hinzufüge.Leider funktioniert mein folgender Code nicht. Der Parameter SheetsMax wird einfach nicht auf die Seitenzahl gesetzt und bleibt immer 999.Irgendwelche Vorschläge?Code: Dim pParameter As Parameter On Error Resume Next oDrwDocument.Parameters.Remove("S ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : RootProdukt aktivieren
C.Samer am 24.10.2017 um 09:08 Uhr (1)
Funktioniert das vielleicht irgendwie mit InWorkObject?Code:Catia.ActiveDocument.part.InWorkObject = mainBodyNewLiebe Grüße aus Wien,ChristophEdit: Hmm, wohl eher nicht :/Zitat:o Property InWorkObject( ) As AnyObject Returns or sets the in work object of the part. The in work object is the object after which a new object is added. Example: Code:Set partRoot = partDoc.Part Set partRoot.InWorkObject = cylindricPad If ( partRoot.InWorkObject cylindricPad ) Then MsgBox "There is a big problem" End IfEd ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Technologische Ergebnisse erzeugen
C.Samer am 11.12.2017 um 10:35 Uhr (1)
Hier noch ein Beispiel:Code:Sub CATMain() Set oSel = CATIA.ActiveDocument.Selection Set oItem = oSel.Item(1).Value Catia.ActiveDocument.Selection.Clear() Catia.ActiveDocument.Selection.Add(oItem) CATIA.StartCommand "Create Technological Results"End Sub Der Code funktioniert nur, wenn ich das Part blau markiere und den Body orange Liebe Grüße,Christoph
|
In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : Technologische Ergebnisse erzeugen
C.Samer am 11.12.2017 um 10:04 Uhr (15)
Edit: Habe eine (leider langsame) Lösung gefunden.Der Befehl Code:CATIA.StartCommand "Create Technological Results" funktioniert nur im PartDesign. Daher: Body selektieren und dann per Code:CATIA.StartWorkbench "PrtCfg" ins PartDesign wechseln bevor ihr Technologische Ergebnisse hinzufügt.Liebe Grüße aus Wien,Christoph :) -------------------------------------------------------------Hallo liebe Community!Ich versuche gerade ein Makro zu schreiben, welches allen Parts eines Produkts "Technologische Ergeb ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Verzeichnis aus Tools-Optionen auslesen
C.Samer am 15.12.2017 um 11:32 Uhr (1)
Hey, du könntest stattdessen das Userverzeichnis nehmen. Sieh mal wie ich es beim Company-Logo mache:Code: Dim fso As FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject") If Not fso.FileExists(sPicturePath) Then sPicturePath = "C:Users" & sUsername & "DocumentsCATIAMasterSettingsPicturesLOGO.jpg" If Not fso.FileExists(sPicturePath) Then MsgBox "Company logo not found." & vbCrlf & "Please copy the company logo to:" & vBCrLf & vBCrLf & sPicturePath,vbOKOnly Or vbCritical, ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Input Box Position
C.Samer am 08.02.2018 um 13:42 Uhr (1)
Also ich hab mich jetzt noch ein wenig gespielt und sehe dass der Fehler doch direkt an "InputBox" liegt.Sie wird wenn sich Catia am zweiten Monitor befindet einfach nicht aufgerufen. XPos und YPos sollten richtig sein. Deine Links helfen also nicht viel :/LG Christoph
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Type Objekt in Bearbeitung auslesen
C.Samer am 06.04.2018 um 12:24 Uhr (1)
Hallo,vlt ist es dieser Code hier?Code:xxx = Catia.ActiveDocument.Part.InWorkObjectLiebe Grüße aus Wien,Christoph[Diese Nachricht wurde von C.Samer am 06. Apr. 2018 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro-Version abfragen
C.Samer am 27.09.2018 um 11:55 Uhr (1)
Hey, du kannst auch direkt aus dem Makro die Version auslesen.Habe das mal so in einem alten VBA Projekt verwendet und würde es jetzt so nichtmehr machen (vor allem da ich jetzt nur noch in CATScript programmiere) aber vielleicht hilft es dir ja!Copy Paste:Code:Attribute VB_Name = "ProjectName"Option ExplicitGlobal Const glbProject = "ProjectName"Global Const glbVersion = "1.2"Global Const glbLanguage = "VBA"Global Const glbAuthor = "Samer Christoph"Global Const glbCompany = "Max Mustermann GmbH"Global Con ...
|
In das Form CATIA V5 Programmierung wechseln |